using CommunityToolkit.Mvvm.ComponentModel;
using System.Collections.Generic;

namespace ScrollViewTest.ViewModels;

public partial class MainViewModel : ObservableObject
{
    [ObservableProperty]
    private string _title = "精美浮动滚动条演示";
    public List<DemoItem> DemoItems { get; } = new()
    {
        new DemoItem 
        { 
            Title = "第一个演示项", 
            Content = "这是一个精美的滚动视图示例。将鼠标移动到右侧边缘或底部边缘，您会看到滚动条优雅地淡入显示。滚动条采用现代化设计，半透明效果，不会遮挡重要内容。" 
        },
        new DemoItem 
        { 
            Title = "第二个演示项", 
            Content = "滚动条设计采用了流行的浮动样式，类似于现代移动应用和网页设计。它们只在需要时出现，不会分散用户注意力，提供更沉浸式的体验。" 
        },
        // new DemoItem 
        // { 
        //     Title = "第三个演示项", 
        //     Content = "边缘触发区域被精心设置为20像素宽度，确保用户可以轻松触发滚动条显示。这个宽度在实用性和美观性之间取得了很好的平衡。" 
        // },
        // new DemoItem 
        // { 
        //     Title = "第四个演示项", 
        //     Content = "滚动条的显示和隐藏动画使用了WPF的动画系统，持续时间为0.3秒，提供流畅自然的过渡效果。Opacity从0到0.8的变化让滚动条既清晰可见又不过于突兀。" 
        // },
        // new DemoItem 
        // { 
        //     Title = "第五个演示项", 
        //     Content = "滚动条的拖动块（Thumb）采用圆角设计，背景色使用半透明白色，与深色主题完美搭配。鼠标悬停时颜色会变亮，提供视觉反馈。" 
        // },
        // new DemoItem 
        // { 
        //     Title = "第六个演示项", 
        //     Content = "整个项目使用了MVVM架构模式，结合CommunityToolkit.Mvvm简化了ViewModel的编写。依赖注入通过Microsoft.Extensions.Hosting实现，使得代码结构更加清晰。" 
        // },
        // new DemoItem 
        // { 
        //     Title = "第七个演示项", 
        //     Content = "配色方案采用了Visual Studio Code的暗色主题风格，背景使用#1E1E1E，内容区域使用#2D2D30，边框使用#3E3E42，文字使用#D4D4D4，营造出专业的开发工具感觉。" 
        // },
        // new DemoItem 
        // { 
        //     Title = "第八个演示项", 
        //     Content = "您可以尝试调整窗口大小，观察滚动条的行为变化。当内容完全显示不需要滚动时，滚动条仍然可以通过鼠标移动到边缘触发显示。" 
        // }
    };
}

public class DemoItem
{
    public string Title { get; set; } = string.Empty;
    public string Content { get; set; } = string.Empty;
}
